home *** CD-ROM | disk | FTP | other *** search
/ SGI Freeware 2002 November / SGI Freeware 2002 November - Disc 2.iso / dist / fw_joe.idb / usr / freeware / catman / u_man / cat1 / joe.Z / joe
Text File  |  1999-01-26  |  53KB  |  1,255 lines

  1.  
  2.  
  3.  
  4.      JJJJOOOOEEEE((((1111))))               UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV            JJJJOOOOEEEE((((1111))))
  5.  
  6.  
  7.  
  8.      NNNNaaaammmmeeee
  9.       joe -    Joe's Own Editor
  10.  
  11.      SSSSyyyynnnnttttaaaaxxxx
  12.       jjjjooooeeee [[[[gggglllloooobbbbaaaallll----ooooppppttttiiiioooonnnnssss]]]] [[[[ [[[[llllooooccccaaaallll----ooooppppttttiiiioooonnnnssss]]]] ffffiiiilllleeeennnnaaaammmmeeee ]]]]............
  13.  
  14.       jjjjssssttttaaaarrrr    [[[[gggglllloooobbbbaaaallll----ooooppppttttiiiioooonnnnssss]]]] [[[[ [[[[llllooooccccaaaallll----ooooppppttttiiiioooonnnnssss]]]] ffffiiiilllleeeennnnaaaammmmeeee ]]]]............
  15.  
  16.       jjjjmmmmaaaaccccssss    [[[[gggglllloooobbbbaaaallll----ooooppppttttiiiioooonnnnssss]]]] [[[[ [[[[llllooooccccaaaallll----ooooppppttttiiiioooonnnnssss]]]] ffffiiiilllleeeennnnaaaammmmeeee ]]]]............
  17.  
  18.       rrrrjjjjooooeeee [[[[gggglllloooobbbbaaaallll----ooooppppttttiiiioooonnnnssss]]]]    [[[[ [[[[llllooooccccaaaallll----ooooppppttttiiiioooonnnnssss]]]] ffffiiiilllleeeennnnaaaammmmeeee ]]]]............
  19.  
  20.       jjjjppppiiiiccccoooo    [[[[gggglllloooobbbbaaaallll----ooooppppttttiiiioooonnnnssss]]]] [[[[ [[[[llllooooccccaaaallll----ooooppppttttiiiioooonnnnssss]]]] ffffiiiilllleeeennnnaaaammmmeeee ]]]]............
  21.  
  22.      DDDDeeeessssccccrrrriiiippppttttiiiioooonnnn
  23.       JOE is a powerful ASCII-text screen editor.  It has a
  24.       "mode-less" user interface which is similer to many user-
  25.       friendly PC editors.    Users of Micro-Pro's WordStar or
  26.       Borland's "Turbo" languages will feel    at home.  JOE is a
  27.       full featured    UNIX screen-editor though, and has many
  28.       features for editing programs    and text.
  29.  
  30.       JOE also emulates several other editors.  JSTAR is a close
  31.       immitation of    WordStar with many "JOE" extensions.  JPICO is
  32.       a close immitation of    the Pine mailing system's PICO editor,
  33.       but with many    extensions and improvements.  JMACS is a GNU-
  34.       EMACS    immitation.  RJOE is a restricted version of JOE,
  35.       which    allowes    you to edit only the files specified on    the
  36.       command line.
  37.  
  38.       Although JOE is actually five    different editors, it still
  39.       requires only    one executable,    but one    with five different
  40.       names.  The name of the editor with an "rc" appended gives
  41.       the name of JOE's initialization file, which determines the
  42.       personality of the editor.
  43.  
  44.       JOE is free software;     you can distribute it and/or modify
  45.       it under the terms of    the GNU    General    Public License as
  46.       published by the Free    Software Foundation.  I    have no    plans
  47.       for turning JOE into a commercial or share-ware product.
  48.       JOE is available over    the Internet by    anonymous FTP from
  49.       ffffttttpppp....ssssttttdddd....ccccoooommmm, file: ssssrrrrcccc////eeeeddddiiiittttoooorrrrssss////jjjjooooeeee****....ttttaaaarrrr....ZZZZ.
  50.  
  51.  
  52.      UUUUssssaaaaggggeeee
  53.       To start the editor, type jjjjooooeeee    followed by zero or more names
  54.       of files you want to edit.  Each file    name may be preceeded
  55.       by a local option setting (see the local options table which
  56.       follows).  Other global options, which apply to the editor
  57.       as a whole, may also be placed on the    command    line (see the
  58.       global options table which follows).    If you are editing a
  59.       new file, you    can either give    the name of the    new file when
  60.  
  61.  
  62.  
  63.      Page 1                          (printed 1/8/99)
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.      JJJJOOOOEEEE((((1111))))               UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV            JJJJOOOOEEEE((((1111))))
  71.  
  72.  
  73.  
  74.       you invoke the editor, or in the editor when you save    the
  75.       new file.  A modified    syntax for file    names is provided to
  76.       allow    you to edit program output, standard input/output, or
  77.       sections of files or devices.     See the section FFFFiiiilllleeeennnnaaaammmmeeeessss
  78.       below    for details.
  79.  
  80.       Once you are in the editor, you can type in text and use
  81.       special control-character sequences to perform other editing
  82.       tasks.  To find out what the control-character sequences
  83.       are, read the    rest of    this man page or type ^^^^KKKK HHHH for help in
  84.       the editor.
  85.  
  86.       Now for some obscure computer-lore:
  87.  
  88.       The ^^^^    means that you hold down the CCCCoooonnnnttttrrrroooollll key while
  89.       pressing the following key (the same way the SSSShhhhiiiifffftttt key works
  90.       for uppercase    letters).  A number of control-key sequences
  91.       are duplicated on other keys,    so that    you don't need to
  92.       press    the control key: EEEESSSSCCCC will work in place    of ^^^^[[[[, DDDDeeeellll
  93.       will work in place of    ^^^^????, BBBBaaaacccckkkkssssppppaaaacccceeee will work    in place of
  94.       ^^^^HHHH, TTTTaaaabbbb will work in place of    ^^^^IIII, RRRReeeettttuuuurrrrnnnn or EEEEnnnntttteeeerrrr will work
  95.       in place of ^^^^MMMM and LLLLiiiinnnneeeeffffeeeeeeeedddd will work    in place of ^^^^JJJJ.     Some
  96.       keyboards may    give you trouble with some control keys.  ^^^^____,
  97.       ^^^^^^^^ and ^^^^@@@@ can    usually    be entered without pressing shift
  98.       (I.E., try ^^^^----, ^^^^6666 and    ^^^^2222).  Other keyboards may reassign
  99.       these    to other keys.    Try:  ^^^^...., ^^^^,,,, and ^^^^////.  ^^^^SSSSPPPPAAAACCCCEEEE can
  100.       usually be used in place of ^^^^@@@@.  ^^^^\\\\ and ^^^^]]]] are interpreted
  101.       by many communication    programs, including telnet and kermit.
  102.       Usually you just hit the key twice to    get it to pass through
  103.       the communication program.
  104.  
  105.       Once you have    typed ^^^^KKKK HHHH, the    first help window appears at
  106.       the top of the screen.  You can continue to enter and    edit
  107.       text while the help window is    on.  To    page through other
  108.       topics, hit ^[, and ^[. (that    is, ESC    , and ESC .).  Use ^^^^KKKK
  109.       HHHH to dismiss the help    window.
  110.  
  111.       You can customize the    keyboard layout, the help screens and
  112.       a number of behavior defaults    by copying JOE's
  113.       initialization file (usually ////uuuussssrrrr////llllooooccccaaaallll////lllliiiibbbb////jjjjooooeeeerrrrcccc) to    ....jjjjooooeeeerrrrcccc
  114.       in your home directory and then by modifying it.  See    the
  115.       section jjjjooooeeeerrrrcccc    below.
  116.  
  117.       To have JOE used as your default editor for e-mail and News,
  118.       you need to set the EEEEDDDDIIIITTTTOOOORRRR and VVVVIIIISSSSUUUUAAAALLLL    environment variables
  119.       in your shell    initialization file (....ccccsssshhhhrrrrcccc or ....pppprrrrooooffffiiiilllleeee) to
  120.       refer    to JOE (joe usually resides as ////uuuussssrrrr////llllooooccccaaaallll////bbbbiiiinnnn////jjjjooooeeee).
  121.  
  122.       There    are a number of    other obscure invocation parameters
  123.       which    may have to be set, particularly if your terminal
  124.       screen is not    updating as you    think it should.  See the
  125.       section EEEEnnnnvvvviiiirrrroooonnnnmmmmeeeennnntttt vvvvaaaarrrriiiiaaaabbbblllleeeessss    below.
  126.  
  127.  
  128.  
  129.      Page 2                          (printed 1/8/99)
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.      JJJJOOOOEEEE((((1111))))               UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV            JJJJOOOOEEEE((((1111))))
  137.  
  138.  
  139.  
  140.      CCCCoooommmmmmmmaaaannnndddd LLLLiiiinnnneeee OOOOppppttttiiiioooonnnnssss
  141.       The following    global options may be specified    on the command
  142.       line:
  143.  
  144.  
  145.       -asis
  146.            Characters with codes above 127 will be sent to the
  147.            terminal    as-is, instead of as inverse of    the
  148.            corresponding character below 128.  If this does    not
  149.            work, check your    terminal server.
  150.  
  151.  
  152.       -backpath path
  153.            If this option is given,    backup files will be stored in
  154.            the specified directory instead of in each file's
  155.            original    directory.
  156.  
  157.  
  158.       -baud    nnn
  159.            Set the baud rate for the purposes of terminal screen
  160.            optimization.  Joe inserts delays for baud rates    below
  161.            19200, which bypasses tty buffering so that typeahead
  162.            will interrupt the screen output.  Scrolling commands
  163.            will not    be used    for 38400 baud.     This is useful    for
  164.            X-terms and other console ttys which really aren't
  165.            going over a serial line.
  166.  
  167.  
  168.       -beep
  169.            Joe will    beep on    command    errors and when    the cursor
  170.            goes past extremes.
  171.  
  172.  
  173.       -columns nnn
  174.            Sets the    number of screen columns.
  175.  
  176.  
  177.       -csmode
  178.            Continued search    mode: a    search immediatly following a
  179.            search will repeat the previous search instead of
  180.            prompting for new string.  This is useful for the the
  181.            ^[S and ^[R commands and    for when joe is    trying to be
  182.            emacs.
  183.  
  184.  
  185.       -dopadding
  186.            Joe usually assumes that    there is some kind of flow
  187.            control between it and the tty.    If there isn't,    this
  188.            option will make    joe output extra ^@s to    the tty    as
  189.            specified by the    termcap    entry.    The extra ^@s allow
  190.            the terminal to catch up    after long terminal commands.
  191.  
  192.  
  193.  
  194.  
  195.      Page 3                          (printed 1/8/99)
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.      JJJJOOOOEEEE((((1111))))               UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV            JJJJOOOOEEEE((((1111))))
  203.  
  204.  
  205.  
  206.       -exask
  207.            This option makes ^KX verify the    file name that it's
  208.            about to    write.
  209.  
  210.  
  211.       -force
  212.            This option makes sure that the last line of the    file
  213.            has a line-feed which it's saved.
  214.  
  215.  
  216.       -help
  217.            The editor will start with the help screen on if    this
  218.            option is given.
  219.  
  220.  
  221.       -keepup
  222.            Normally    the column number and control-key prefix
  223.            fields of the status lines are on a one second delay to
  224.            reduce CPU consumption, but with    this option they are
  225.            updated after each key-stroke.
  226.  
  227.  
  228.       -lightoff
  229.            The block highlighting will go away after any block
  230.            command if this option is given.
  231.  
  232.  
  233.       -lines nnn
  234.            Sets the    number of screen lines.
  235.  
  236.  
  237.       -marking
  238.            Text between ^KB    and the    cursor is highlighted (use
  239.            with -lightoff and a modified joerc file    to have    drop-
  240.            anchor style block selection).
  241.  
  242.  
  243.       -mid If this option is set and the cursor moves off the
  244.            window, the window will be scrolled so that the cursor
  245.            is in the center.  This option is forced    on slow
  246.            terminals which don't have scrolling commands.
  247.  
  248.  
  249.       -nobackups
  250.            This option prevents backup files.
  251.  
  252.  
  253.       -nonotice
  254.            This option prevent the copyright notice    from being
  255.            displayed when the editor starts.
  256.  
  257.  
  258.  
  259.  
  260.  
  261.      Page 4                          (printed 1/8/99)
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.      JJJJOOOOEEEE((((1111))))               UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV            JJJJOOOOEEEE((((1111))))
  269.  
  270.  
  271.  
  272.       -nosta
  273.            This option eliminates the top-most status line.     It's
  274.            nice for    when you only want to see your text on the
  275.            screen or if you're using a vt52.
  276.  
  277.  
  278.       -noxon
  279.            Attempt to turn off ^S/^Q processing.  This is useful
  280.            for when    joe is trying to be WordStar or    EMACS.
  281.  
  282.  
  283.       -orphan
  284.            When this option    is active, extra files on the command
  285.            line will be placed in orphaned buffers instead of in
  286.            extra windows.  This is useful for when joe is trying
  287.            to be emacs.
  288.  
  289.  
  290.       -pg nnn
  291.            This specifies the number of lines to keep after
  292.            PgUp/PgDn (^U/^V).  If -1 is given, half    the window is
  293.            kept.
  294.  
  295.  
  296.       -skiptop nnn
  297.            Don't use the top nnn lines of the screen.  Useful for
  298.            when joe    is used    as a BBS editor.
  299.  
  300.  
  301.       Each of these    options    may be specified in the    joerc file as
  302.       well.     In addition, the NOXON, BAUD, LINES, COLUMNS and
  303.       DOPADDING options may    be specified with environment
  304.       variables.
  305.  
  306.       The JOETERM environment variable may be set to override the
  307.       regular TERM environment variable for    specifying your
  308.       terminal type.
  309.  
  310.       The following    options    may be specified before    each filename
  311.       on the command line:
  312.  
  313.  
  314.       +nnn The cursor starts on the    specified line.
  315.  
  316.  
  317.       -crlf
  318.            Joe uses    CR-LF as the end of line sequence instead of
  319.            just LF.     This is for editing MS-DOS or VMS files.
  320.  
  321.  
  322.       -wordwrap
  323.            Joe wraps the previous word when    you type past the
  324.  
  325.  
  326.  
  327.      Page 5                          (printed 1/8/99)
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.      JJJJOOOOEEEE((((1111))))               UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV            JJJJOOOOEEEE((((1111))))
  335.  
  336.  
  337.  
  338.            right margin.
  339.  
  340.  
  341.       -autoindent
  342.            When you    hit Return on an indented line,    the
  343.            indentation is duplicated onto the new line.
  344.  
  345.  
  346.       -overwrite
  347.            Typing overwrites existing characters instead of
  348.            inserting before    them.
  349.  
  350.  
  351.       -lmargin nnn
  352.            Sets the    left margin.
  353.  
  354.  
  355.       -rmargin nnn
  356.            Sets the    right margin.
  357.  
  358.  
  359.       -tab nnn
  360.            Sets the    tab width.
  361.  
  362.  
  363.       -indentc nnn
  364.            Sets the    indentation character for ^K, and ^K. (32 for
  365.            SPACE, 9    for TAB).
  366.  
  367.  
  368.       -istep nnn
  369.            Sets the    indentation step for ^K, and ^K..
  370.  
  371.  
  372.       -linums
  373.            Line numbers are    displayed before each line.
  374.  
  375.  
  376.       -rdonly
  377.            The file    is read    only.
  378.  
  379.  
  380.       -keymap name
  381.            Use an alternate    section    of the joerc file for the key
  382.            sequence    bindings.
  383.  
  384.  
  385.       These    options    can also be specified in the joerc file.  They
  386.       can be set depending on the file-name    extension.  Programs
  387.       (.c, .h or .p    extension) usually have    autoindent enabled.
  388.       Wordwrap is enabled on other files, but rc files have    it
  389.       disabled.
  390.  
  391.  
  392.  
  393.      Page 6                          (printed 1/8/99)
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.      JJJJOOOOEEEE((((1111))))               UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV            JJJJOOOOEEEE((((1111))))
  401.  
  402.  
  403.  
  404.      EEEEddddiiiittttiiiinnnngggg TTTTaaaasssskkkkssss
  405.     BBBBaaaassssiiiicccc EEEEddddiiiittttiiiinnnngggg
  406.       When you type    characters into    the editor, they are normally
  407.       inserted into    the file being edited (or appended to the file
  408.       if the cursor    is at the end of the file).  This is the
  409.       normal operating mode    of the editor.    If you want to replace
  410.       some existing    text, you have to delete the old text before
  411.       or after you type in the replacement text.  The BBBBaaaacccckkkkssssppppaaaacccceeee
  412.       key can be used for deleting text: move the cursor to    right
  413.       after    the text you want to delete and    hit BBBBaaaacccckkkkssssppppaaaacccceeee a    number
  414.       of times.
  415.  
  416.       Hit the EEEEnnnntttteeeerrrr    or RRRReeeettttuuuurrrrnnnn key to insert    a line-break.  For
  417.       example, if the cursor was in    the middle of a    line and you
  418.       hit RRRReeeettttuuuurrrrnnnn, the line would be    split into two lines with the
  419.       cursor appearing at the beginning of the second line.     Hit
  420.       BBBBaaaacccckkkkssssppppaaaacccceeee at the beginning of    a line to eliminate a line-
  421.       break.
  422.  
  423.       Use the arrow    keys to    move around the    file.  If your
  424.       keyboard doesn't have    arrow keys (or if they don't work for
  425.       some reason),    use ^^^^FFFF to move forwards    (right), ^^^^BBBB to move
  426.       backwards (left), ^^^^PPPP to move to the previous line (up), and
  427.       ^^^^NNNN to    move to    the next line (down).  The right and left
  428.       arrow    keys simply move forwards or backwards one character
  429.       at a time through the    text: if you're    at the beginning of a
  430.       line and you press left-arrow, you will end up at the    end of
  431.       the previous line.  The up and down arrow keys move forwards
  432.       and backwards    by enough characters so    that the cursor
  433.       appears in the same column that it was in on the original
  434.       line.
  435.  
  436.       If you want to indent    the text you enter, you    can use    the
  437.       TTTTAAAABBBB key. This    inserts    a special control character which
  438.       makes    the characters which follow it begin at    the next TAB
  439.       STOP.     TAB STOPS normally occur every    8 columns, but this
  440.       can be changed with the ^^^^TTTT DDDD command.     PASCAL    and C
  441.       programmers often set    TAB STOPS on every 4 columns.
  442.  
  443.       If for some reason your terminal screen gets messed up (for
  444.       example, if you receive a mail notice    from biff), you    can
  445.       have the editor refresh the screen by    hitting    ^^^^RRRR.
  446.  
  447.       There    are many other keys for    deleting text and moving
  448.       around the file.  For    example, hit ^^^^DDDD    to delete the
  449.       character the    cursor is on instead of    deleting backwards
  450.       like BBBBaaaacccckkkkssssppppaaaacccceeee.  ^^^^DDDD will also    delete a line-break if the
  451.       cursor is at the end of a line.  Type    ^^^^YYYY to delete the
  452.       entire line the cursor is on or ^^^^JJJJ to    delete just from the
  453.       cursor to the    end of the line.
  454.  
  455.       Hit ^^^^AAAA to move the cursor to the beginning of    the line it's
  456.  
  457.  
  458.  
  459.      Page 7                          (printed 1/8/99)
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466.      JJJJOOOOEEEE((((1111))))               UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV            JJJJOOOOEEEE((((1111))))
  467.  
  468.  
  469.  
  470.       on.  Hit ^^^^EEEE to move the cursor to the    end of the line.  Hit
  471.       ^^^^UUUU or    ^^^^VVVV for scrolling the cursor up or down 1/2 a screen's
  472.       worth. "Scrolling" means that    the text on the    screen moves,
  473.       but the cursor stays at the same place relative to the
  474.       screen.  Hit ^^^^KKKK UUUU or ^^^^KKKK VVVV to move the    cursor to the
  475.       beginning or the end of the file.  Look at the help screens
  476.       in the editor    to find    even more delete and movement
  477.       commands.
  478.  
  479.       If you make a    mistake, you can hit ^^^^____    to "undo" it.  On most
  480.       keyboards you    hit just ^^^^---- to get ^^^^____, but on some you might
  481.       have to hold both the    SSSShhhhiiiifffftttt and CCCCoooonnnnttttrrrroooollll keys down at the
  482.       same time to get it.    If you "undo" too much,    you can    "redo"
  483.       the changes back into    existence by hitting ^^^^^^^^    (type this
  484.       with just ^^^^6666 on most keyboards).
  485.  
  486.       If you were editing in one place within the file, and    you
  487.       then temporarily had to look or edit some other place    within
  488.       the file, you    can get    back to    the original place by hitting
  489.       ^^^^KKKK ----.     This command actually returns you to the last place
  490.       you made a change in the file.  You can step through a
  491.       history of places with ^^^^KKKK ---- and ^^^^KKKK ====,    in the same way    you
  492.       can step through the history of changes with the "undo" and
  493.       "redo" commands.
  494.  
  495.       When you are done editing the    file, hit ^^^^KKKK XXXX to exit the
  496.       editor.  You will be prompted    for a file name    if you hadn't
  497.       already named    the file you were editing.
  498.  
  499.       When you edit    a file,    you actually edit only a copy of the
  500.       file.     So if you decide that you don't want the changes you
  501.       made to a file during    a particular edit session, you can hit
  502.       ^^^^CCCC to    exit the editor    without    saving them.
  503.  
  504.       If you edit a    file and save the changes, a "backup" copy of
  505.       that file is created in the current directory, with a    ~
  506.       appended to the name,    which contains the original version of
  507.       the file.
  508.  
  509.  
  510.     WWWWoooorrrrdddd wwwwrrrraaaapppp aaaannnndddd ffffoooorrrrmmmmaaaattttttttiiiinnnngggg
  511.       If you type past the right edge of the screen    in a C
  512.       language or PASCAL file, the screen will scroll to the right
  513.       to follow the    cursor.     If you    type past the right edge of
  514.       the screen in    a normal file (one whose name doesn't end in
  515.       .c, .h or .p), JOE will automatically    wrap the last word
  516.       onto the next    line so    that you don't have to hit RRRReeeettttuuuurrrrnnnn.
  517.       This is called word-wrap mode.  Word-wrap can    be turned on
  518.       or off with the ^^^^TTTT WWWW command.     JOE's initialization file is
  519.       usually set up so that this mode is automatically turned on
  520.       for all non-program files.  See the section below on the
  521.       jjjjooooeeeerrrrcccc    file to    change this and    other defaults.
  522.  
  523.  
  524.  
  525.      Page 8                          (printed 1/8/99)
  526.  
  527.  
  528.  
  529.  
  530.  
  531.  
  532.      JJJJOOOOEEEE((((1111))))               UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV            JJJJOOOOEEEE((((1111))))
  533.  
  534.  
  535.  
  536.       Aside    for Word-wrap mode, JOE    does not automatically keep
  537.       paragraphs formatted like some word-processors.  Instead, if
  538.       you need a paragraph to be reformatted, hit ^^^^KKKK JJJJ.  This
  539.       command "fills in" the paragraph that    the cursor is in,
  540.       fitting as many words    in a line as is    possible.  A
  541.       paragraph, in    this case, is a    block of text separated    above
  542.       and below by a blank line.
  543.  
  544.       The margins which JOE    uses for paragraph formatting and
  545.       word-wrap can    be set with the    ^^^^TTTT LLLL and ^^^^TTTT RRRR commands.     If
  546.       the left margin is set to a value other than 1, then when
  547.       you start typing at the beginning of a line, the cursor will
  548.       immediately jump to the left margin.
  549.  
  550.       If you want to center    a line within the margins, use the ^^^^KKKK
  551.       AAAA command.
  552.  
  553.  
  554.     OOOOvvvveeeerrrr----ttttyyyyppppeeee mmmmooooddddeeee
  555.       Sometimes it's tiresome to have to delete old    text before or
  556.       after    you insert new text.  This happens, for    example, when
  557.       you are changing a table and you want    to maintain the    column
  558.       position of the right    side of    the table. When    this occurs,
  559.       you can put the editor in over-type mode with    ^^^^TTTT TTTT. When the
  560.       editor is in this mode, the characters you type in replace
  561.       existing characters, in the way an idealized typewriter
  562.       would.  Also,    BBBBaaaacccckkkkssssppppaaaacccceeee simply moves left instead of
  563.       deleting the character to the    left, when it's    not at the end
  564.       or beginning of a line.  Over-type mode is not the natural
  565.       way of dealing with text electronically, so you should go
  566.       back to insert-mode as soon as possible by typing ^^^^TTTT TTTT
  567.       again.
  568.  
  569.       If you need to insert    while you're in    over-type mode,    hit
  570.       ^^^^@@@@.  This inserts a single SPACE into    the text.
  571.  
  572.  
  573.     CCCCoooonnnnttttrrrroooollll    aaaannnndddd MMMMeeeettttaaaa cccchhhhaaaarrrraaaacccctttteeeerrrrssss
  574.       Each character is represented    by a number.  For example, the
  575.       number for 'A' is 65 and the number for '1' is 49.  All of
  576.       the characters which you normally see    have numbers in    the
  577.       range    of 32 -    126 (this particular arbitrary assignment
  578.       between characters and numbers is called the ASCII character
  579.       set).     The numbers outside of    this range, from 0 to 255,
  580.       aren't usually displayed, but    sometimes have other special
  581.       meanings.  The number    10, for    example, is used for the
  582.       line-breaks.    You can    enter these special, non-displayed
  583.       ccccoooonnnnttttrrrroooollll cccchhhhaaaarrrraaaacccctttteeeerrrrssss by    first hitting ````    and then hitting a
  584.       character in the range @@@@ AAAA BBBB CCCC ............ XXXX YYYY ZZZZ [[[[ ^^^^ ]]]] \\\\ ____ to    get
  585.       the number 0 - 31, and ? to get 127.    For example, if    you
  586.       hit ````    JJJJ, you'll insert a line-break character, or if you hit
  587.       ```` IIII, you'll insert a TAB character (which does the same
  588.  
  589.  
  590.  
  591.      Page 9                          (printed 1/8/99)
  592.  
  593.  
  594.  
  595.  
  596.  
  597.  
  598.      JJJJOOOOEEEE((((1111))))               UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV            JJJJOOOOEEEE((((1111))))
  599.  
  600.  
  601.  
  602.       thing    the TAB    key does).  A useful control character to
  603.       enter    is 12 (```` LLLL), which causes most printers    to advance to
  604.       the top of the page.    You'll notice that JOE displays    this
  605.       character as an underlined L.     You can enter the characters
  606.       above    127, the mmmmeeeettttaaaa cccchhhhaaaarrrraaaacccctttteeeerrrrssss, by first hitting ^^^^\\\\.    This
  607.       adds 128 to the next (possibly control) character entered.
  608.       JOE displays characters above    128 in inverse-video.  Some
  609.       foreign languages, which have    more letters than English, use
  610.       the meta characters for the rest of their alphabet.  You
  611.       have to put the editor in AAAASSSSIIIISSSS mode (described later)    to
  612.       have these passed untranslated to the    terminal.
  613.  
  614.  
  615.     PPPPrrrroooommmmppppttttssss
  616.       If you hit TTTTAAAABBBB at any    file name prompt, joe will attempt to
  617.       complete the name you    entered    as much    as possible.  If it
  618.       couldn't complete the    entire name, because there are more
  619.       than one possible completions, joe beeps.  If    you hit    TTTTAAAABBBB
  620.       again, joe list the completions.  You    can use    the arrow keys
  621.       to move around this directory    menu and press RETURN or SPACE
  622.       to select an item.  If you press the first letter of one of
  623.       the directory    entries, it will be selected, or if more than
  624.       one entry has    the same first letter, the cursor will jump
  625.       between those    entries.  If you select    a subdirectory or ..,
  626.       the directory    name is    appended to the    prompt and the new
  627.       directory is loaded into the menu.  You can hit Backspace to
  628.       go back to the previous directory.
  629.  
  630.       Most prompts record a    history    of the responses you give
  631.       them.     You can hit up    and down arrow to step through these
  632.       histories.
  633.  
  634.       Prompts are actually single line windows with    no status
  635.       line,    so you can use any editing command that    you normally
  636.       use on text within the prompts.  The prompt history is
  637.       actually just    other lines of the same    "prompt    file".    Thus
  638.       you can can search backwards though the prompt history with
  639.       the normal ^^^^KKKK    FFFF command if you want.
  640.  
  641.       Since    prompts    are windows, you can also switch out of    them
  642.       with ^^^^KKKK PPPP and    ^^^^KKKK NNNN.
  643.  
  644.  
  645.     WWWWhhhheeeerrrreeee aaaammmm IIII????
  646.       Hit ^^^^KKKK SSSSPPPPAAAACCCCEEEE to have JOE report the line number, column
  647.       number, and byte number on the last line of the screen.  The
  648.       number associated with the character the cursor is on    (its
  649.       ASCII    code) is also shown.  You can have the line number
  650.       and/or column    number always displayed    on the status line by
  651.       setting placing the appropriate escape sequences in the
  652.       status line setup strings.  Edit the joerc file for details.
  653.  
  654.  
  655.  
  656.  
  657.      Page 10                          (printed 1/8/99)
  658.  
  659.  
  660.  
  661.  
  662.  
  663.  
  664.      JJJJOOOOEEEE((((1111))))               UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV            JJJJOOOOEEEE((((1111))))
  665.  
  666.  
  667.  
  668.     FFFFiiiilllleeee ooooppppeeeerrrraaaattttiiiioooonnnnssss
  669.       You can hit ^^^^KKKK DDDD to save the current file (possibly under a
  670.       different name from what the file was    called originally).
  671.       After    the file is saved, you can hit ^^^^KKKK EEEE to edit a
  672.       different file.
  673.  
  674.       If you want to save only a selected section of the file, see
  675.       the section on BBBBlllloooocccckkkkssss    below.
  676.  
  677.       If you want to include another file in the file you're
  678.       editing, use ^^^^KKKK RRRR to insert it.
  679.  
  680.  
  681.     TTTTeeeemmmmppppoooorrrraaaarrrriiiillllyyyy ssssuuuussssppppeeeennnnddddiiiinnnngggg tttthhhheeee eeeeddddiiiittttoooorrrr
  682.       If you need to temporarily stop the editor and go back to
  683.       the shell, hit ^^^^KKKK ZZZZ.    You might want to do this to stop
  684.       whatever you're editing and answer an    e-mail message or read
  685.       this man page, for example.  You have    to type    ffffgggg or eeeexxxxiiiitttt
  686.       (you'll be told which    when you hit ^^^^KKKK    ZZZZ) to return to    the
  687.       editor.
  688.  
  689.  
  690.     SSSSeeeeaaaarrrrcccchhhhiiiinnnngggg ffffoooorrrr tttteeeexxxxtttt
  691.       Hit ^^^^KKKK FFFF to have the editor search forwards or backwards for
  692.       a text fragment (ssssttttrrrriiiinnnngggg) for you.  You will be prompted for
  693.       the text to search for.  After you hit RRRReeeettttuuuurrrrnnnn, you are
  694.       prompted to enter options. You can just hit RRRReeeettttuuuurrrrnnnn again to
  695.       have the editor immediately search forwards for the text, or
  696.       you can enter    one or more of these options:
  697.  
  698.  
  699.       bbbb    Search backwards    instead    of forwards.
  700.  
  701.  
  702.       iiii    Treat uppercase and lower case letters as the same when
  703.            searching.  Normally uppercase and lowercase letters
  704.            are considered to be different.
  705.  
  706.  
  707.       nnnnnnnnnnnn  (where nnnnnnnnnnnn is a number) If you enter a number, JOE
  708.            searches    for the    Nth occurrence of the text.  This is
  709.            useful for going    to specific places in files structured
  710.            in some regular manner.
  711.  
  712.  
  713.       rrrr    Replace text.  If you enter the rrrr option, then you will
  714.            be further prompted for replacement text.  Each time
  715.            the editor finds    the search text, you will be prompted
  716.            as to whether you want to replace the found search text
  717.            with the    replacement text.  You hit: yyyy to replace the
  718.            text and    then find the next occurrence, nnnn to not
  719.            replace this text, but to then find the next
  720.  
  721.  
  722.  
  723.      Page 11                          (printed 1/8/99)
  724.  
  725.  
  726.  
  727.  
  728.  
  729.  
  730.      JJJJOOOOEEEE((((1111))))               UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV            JJJJOOOOEEEE((((1111))))
  731.  
  732.  
  733.  
  734.            occurrence, rrrr to    replace    all of the remaining
  735.            occurrences of the search text in the remainder of the
  736.            file without asking for confirmation (subject to    the
  737.            nnnnnnnnnnnn option above), or ^^^^CCCC    to stop    searching and
  738.            replacing.
  739.  
  740.  
  741.       You can hit ^^^^LLLL to repeat the previous    search.
  742.  
  743.  
  744.     RRRReeeegggguuuullllaaaarrrr    EEEExxxxpppprrrreeeessssssssiiiioooonnnnssss
  745.       A number of special character    sequences may be entered as
  746.       search text:
  747.  
  748.  
  749.       \\\\****   This finds zero or more characters.  For    example, if
  750.            you give    AAAA\\\\****BBBB as    the search text, JOE will try to find
  751.            an A followed by    any number of characters and then a B.
  752.  
  753.  
  754.       \\\\????   This finds exactly one character.  For example, if you
  755.            give AAAA\\\\????BBBB as the    search text, JOE will find AXB,    but
  756.            not AB or AXXB.
  757.  
  758.  
  759.       \\\\^^^^ \\\\$$$$
  760.            These match the beginning and end of a line.  For
  761.            example,    if you give \\\\^^^^tttteeeesssstttt\\\\$$$$, then JOE with find tttteeeesssstttt
  762.            on a line by itself.
  763.  
  764.  
  765.       \\\\<<<< \\\\>>>>
  766.            These match the beginning and end of a word.  For
  767.            example,    if you give \\\\<<<<\\\\****iiiissss\\\\****\\\\>>>>,    then joe will find
  768.            whole words which have the sub-string iiiissss    within them.
  769.  
  770.  
  771.       \\\\[[[[............]]]]
  772.            This matches any    single character which appears within
  773.            the brackets.  For example, if \\\\[[[[TTTTtttt]]]]hhhhiiiissss is entered as
  774.            the search string, then JOE finds both TTTThhhhiiiissss and tttthhhhiiiissss.
  775.            Ranges of characters can    be entered within the
  776.            brackets.  For example, \\\\[[[[AAAA----ZZZZ]]]] finds any    uppercase
  777.            letter.    If the first character given in    the brackets
  778.            is ^^^^, then JOE tries to find any    character not given in
  779.            the the brackets.
  780.  
  781.  
  782.       \\\\cccc   This works like \\\\****, but matches a balanced C-language
  783.            expression. For example,    if you search for mmmmaaaalllllllloooocccc((((\\\\cccc)))),
  784.            then JOE    will find all function calls to    mmmmaaaalllllllloooocccc,    even
  785.            if there    was a ))))    within the parenthesis.
  786.  
  787.  
  788.  
  789.      Page 12                          (printed 1/8/99)
  790.  
  791.  
  792.  
  793.  
  794.  
  795.  
  796.      JJJJOOOOEEEE((((1111))))               UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV            JJJJOOOOEEEE((((1111))))
  797.  
  798.  
  799.  
  800.       \\\\++++   This finds zero or more of the character    which
  801.            immediately follows the \\\\++++.  For    example, if you    give
  802.            \\\\[[[[ ]]]]\\\\++++\\\\[[[[    ]]]], where the characters    within the brackets
  803.            are both    SPACE and TAB, then JOE    will find whitespace.
  804.  
  805.  
  806.       \\\\\\\\   Matches a single    \.
  807.  
  808.  
  809.       \\\\nnnn   This finds the special end-of-line or line-break
  810.            character.
  811.  
  812.  
  813.       A number of special character    sequences may also be given in
  814.       the replacement string:
  815.  
  816.  
  817.       \\\\&&&&   This gets replaced by the text which matched the    search
  818.            string.    For example, if    the search string was \\\\<<<<\\\\****\\\\>>>>,
  819.            which matches words, and    you give """"\\\\&&&&"""", then joe    will
  820.            put quote marks around words.
  821.  
  822.  
  823.       \\\\0000 ---- \\\\9999
  824.            These get replaced with the text    which matched the Nth
  825.            \\\\****, \\\\????, \\\\++++, \\\\cccc, \\\\++++, or \\\\[[[[............]]]] in    the search string.
  826.  
  827.  
  828.       \\\\\\\\   Use this    if you need to put a \\\\ in the replacement
  829.            string.
  830.  
  831.  
  832.       \\\\nnnn   Use this    if you need to put a line-break    in the
  833.            replacement string.
  834.  
  835.       Some examples:
  836.  
  837.       Suppose you have a list of addresses,    each on    a separate
  838.       line,    which starts with "Address:" and has each element
  839.       separated by commas.    Like so:
  840.  
  841.       Address: S. Holmes, 221b Baker St., London, England
  842.  
  843.       If you wanted    to rearrange the list, to get the country
  844.       first, then the city,    then the person's name,    and then the
  845.       address, you could do    this:
  846.  
  847.       Type ^^^^KKKK FFFF to start the search, and type:
  848.  
  849.       AAAAddddddddrrrreeeessssssss::::\\\\****,,,,\\\\****,,,,\\\\****,,,,\\\\****\\\\$$$$
  850.  
  851.       to match "Address:", the four    comma-separated    elements, and
  852.  
  853.  
  854.  
  855.      Page 13                          (printed 1/8/99)
  856.  
  857.  
  858.  
  859.  
  860.  
  861.  
  862.      JJJJOOOOEEEE((((1111))))               UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV            JJJJOOOOEEEE((((1111))))
  863.  
  864.  
  865.  
  866.       then the end of the line.  When asked    for options, you would
  867.       type rrrr to replace the    string,    and then type:
  868.  
  869.       AAAAddddddddrrrreeeessssssss::::\\\\3333,,,,\\\\2222,,,,\\\\0000,,,,\\\\1111
  870.  
  871.       To shuffle the information the way you want it. After
  872.       hitting return, the search would begin, and the sample line
  873.       would    be changed to:
  874.  
  875.       Address: England, London, S. Holmes, 221b Baker St.
  876.  
  877.  
  878.  
  879.     BBBBlllloooocccckkkkssss
  880.       If you want to move, copy, save or delete a specific section
  881.       of text, you can do it with highlighted blocks.  First, move
  882.       the cursor to    the start of the section of text you want to
  883.       work on, and press ^^^^KKKK    BBBB.  Then move the cursor to the
  884.       character just after the end of the text you want to affect
  885.       and press ^^^^KKKK KKKK.  The text between the    ^^^^KKKK BBBB and ^^^^KKKK KKKK should
  886.       become highlighted.  Now you can move    your cursor to
  887.       someplace else in your document and press ^^^^KKKK MMMM to move the
  888.       highlighted text there. You can press    ^^^^KKKK CCCC to    make a copy of
  889.       the highlighted text and insert it to    where the cursor is
  890.       positioned.  ^^^^KKKK YYYY to deletes the highlighted text.  ^^^^KKKK WWWW,
  891.       writes the highlighted text to a file.
  892.  
  893.       A very useful    command    is ^^^^KKKK ////, which filters a block of text
  894.       through a unix command.  For example,    if you select a    list
  895.       of words with    ^^^^KKKK BBBB and ^^^^KKKK KKKK, and then    type ^^^^KKKK    //// ssssoooorrrrtttt,    the
  896.       list of words    will be    sorted.     Another useful    unix command
  897.       for ^^^^KKKK ////, is ttttrrrr.  If you type    ^^^^KKKK //// ttttrrrr    aaaa----zzzz AAAA----ZZZZ, then all of
  898.       the letters in the highlighted block will be converted to
  899.       uppercase.
  900.  
  901.       After    you are    finished with some block operations, you can
  902.       just leave the highlighting on if you    don't mind it (of
  903.       course, if you accidently hit    ^^^^KKKK YYYY without noticing...).  If
  904.       it really bothers you, however, just hit ^^^^KKKK BBBB    ^^^^KKKK KKKK, to turn
  905.       the highlighting off.
  906.  
  907.  
  908.     IIIInnnnddddeeeennnnttttiiiinnnngggg pppprrrrooooggggrrrraaaammmm bbbblllloooocccckkkkssss
  909.       Auto-indent mode toggled with    the ^^^^TTTT IIII command.  The jjjjooooeeeerrrrcccc
  910.       is normally set up so    that files with    names ending with .p,
  911.       .c or    .h have    auto-indent mode enabled.  When    auto-indent
  912.       mode is enabled and you hit RRRReeeettttuuuurrrrnnnn, the cursor will be
  913.       placed in the    same column that the first non-SPACE/TAB
  914.       character was    in on the original line.
  915.  
  916.       You can use the ^^^^KKKK ,,,, and ^^^^KKKK ....    commands to shift a block of
  917.       text to the left or right.  If no highlighting is set    when
  918.  
  919.  
  920.  
  921.      Page 14                          (printed 1/8/99)
  922.  
  923.  
  924.  
  925.  
  926.  
  927.  
  928.      JJJJOOOOEEEE((((1111))))               UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV            JJJJOOOOEEEE((((1111))))
  929.  
  930.  
  931.  
  932.       you give these commands, the program block the cursor    is
  933.       located in will be selected, and will    be moved by subsequent
  934.       ^^^^KKKK ,,,, and ^^^^KKKK ....    commands.  The number of columns these
  935.       commands shift by can    be set through a ^^^^TTTT option.
  936.  
  937.  
  938.     WWWWiiiinnnnddddoooowwwwssss
  939.       You can edit more than one file at the same time or edit two
  940.       or more different places of the same file.  To do this, hit
  941.       ^^^^KKKK OOOO,    to split the screen into two windows.  Use ^^^^KKKK PPPP    or ^^^^KKKK
  942.       NNNN to move the    cursor into the    top window or the lower
  943.       window.  Use ^^^^KKKK EEEE to edit a new file in one of the windows.
  944.       A window will    go away    when you save the file with ^^^^KKKK XXXX or
  945.       abort    the file with ^^^^CCCC.  If you abort    a file which exists in
  946.       two windows, one of the window goes away, not    the file.
  947.  
  948.       You can hit ^^^^KKKK OOOO within a window to create even more
  949.       windows.  If you have    too many windows on the    screen,    but
  950.       you don't want to eliminate them, you    can hit    ^^^^KKKK IIII.  This
  951.       will show only the window the    cursor is in, or if there was
  952.       only one window on the screen    to begin with, try to fit all
  953.       hidden windows on the    screen.     If there are more windows
  954.       than can fit on the screen, you can hit ^^^^KKKK NNNN on the bottom-
  955.       most window or ^^^^KKKK PPPP on the top-most window to    get to them.
  956.  
  957.       If you gave more than    one file name to JOE on    the command
  958.       line,    each file will be placed in a different    window.
  959.  
  960.       You can change the height of the windows with    the ^^^^KKKK GGGG and
  961.       ^^^^KKKK TTTT commands.
  962.  
  963.  
  964.     KKKKeeeeyyyybbbbooooaaaarrrrdddd mmmmaaaaccccrrrroooossss
  965.       Macros allow you to record a series of keystrokes and    replay
  966.       them with the    press of two keys.  This is useful to automate
  967.       repetitive tasks.  To    start a    macro recording, hit ^^^^KKKK    [[[[
  968.       followed by a    number from 0 to 9.  The status    line will
  969.       display (Macro n recording...).  Now,    type in    the series of
  970.       keystrokes that you want to be able to repeat.  The commands
  971.       you type will    have their usual effect. Hit ^^^^KKKK    ]]]] to stop
  972.       recording the    macro.    Hit ^^^^KKKK followed    by the number you
  973.       recorded the macro in    to execute one iteration of the    key-
  974.       strokes.
  975.  
  976.       For example, if you want to put "**" in front    of a number of
  977.       lines, you can type:
  978.  
  979.       ^^^^KKKK [[[[ ^^^^AAAA ******** <down arrow> ^^^^KKKK ]]]]
  980.  
  981.       Which    starts the macro recording, moves the cursor to    the
  982.       beginning of the line, inserts "**", moves the cursor    down
  983.       one line, and    then ends the recording. Since we included the
  984.  
  985.  
  986.  
  987.      Page 15                          (printed 1/8/99)
  988.  
  989.  
  990.  
  991.  
  992.  
  993.  
  994.      JJJJOOOOEEEE((((1111))))               UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV            JJJJOOOOEEEE((((1111))))
  995.  
  996.  
  997.  
  998.       key-strokes needed to    position the cursor on the next    line,
  999.       we can repeatedly use    this macro without having to move the
  1000.       cursor ourselves, something you should always    keep in    mind
  1001.       when recording a macro.
  1002.  
  1003.       If you find that the macro you are recording itself has a
  1004.       repeated set of key-strokes in it, you can record a macro
  1005.       within the macro, as long as you use a different macro
  1006.       number.  Also    you can    execute    previously recorded macros
  1007.       from within new macros.
  1008.  
  1009.  
  1010.  
  1011.     RRRReeeeppppeeeeaaaatttt
  1012.       You can use the repeat command, ^^^^KKKK \\\\,    to repeat a macro, or
  1013.       any other edit command or even a normal character, a
  1014.       specified number of times.  Hit ^^^^KKKK \\\\,    type in    the number of
  1015.       times    you want the command repeated and press    RRRReeeettttuuuurrrrnnnn.     The
  1016.       next edit command you    now give will be repeated that many
  1017.       times.
  1018.  
  1019.       For example, to delete the next 20 lines of text, type:
  1020.  
  1021.       ^^^^KKKK  22220000<return>^^^^YYYY
  1022.  
  1023.  
  1024.     RRRReeeeccccttttaaaannnngggglllleeee mmmmooooddddeeee
  1025.       Type ^^^^TTTT XXXX to have ^^^^KKKK BBBB and ^^^^KKKK    KKKK select rectangular blocks
  1026.       instead of stream-of-text blocks.  This mode is useful for
  1027.       moving, copying, deleting or saving columns of text.    You
  1028.       can also filter columns of text with the ^^^^KKKK ////    command- if
  1029.       you want to sort a column, for example.  The insert file
  1030.       command, ^^^^KKKK RRRR    is also    effected.
  1031.  
  1032.       When rectangle mode is selected, over-type mode is also
  1033.       useful (^^^^TTTT TTTT).  When over-type mode is selected, rectangles
  1034.       will replace existing    text instead of    getting    inserted
  1035.       before it.  Also the delete block command (^^^^KKKK    YYYY) will    clear
  1036.       the selected rectangle with SPACEs and TABs instead of
  1037.       deleting it.    Over-type mode is especially useful for    the
  1038.       filter block command (^^^^KKKK ////), since it    will maintain the
  1039.       original width of the    selected column.
  1040.  
  1041.  
  1042.     TTTTaaaagggg sssseeeeaaaarrrrcccchhhh
  1043.       If you are editing a large C program with many source    files,
  1044.       you can use the ccccttttaaaaggggssss    program    to generate a ttttaaaaggggssss file.  This
  1045.       file contains    a list of program symbols and the files    and
  1046.       positions where the symbols are defined.  The    ^^^^KKKK ;;;; command
  1047.       can be used to lookup    a symbol (functions, defined
  1048.       constants, etc.), load the file where    the symbol is defined
  1049.       into the current window and position the cursor to where the
  1050.  
  1051.  
  1052.  
  1053.      Page 16                          (printed 1/8/99)
  1054.  
  1055.  
  1056.  
  1057.  
  1058.  
  1059.  
  1060.      JJJJOOOOEEEE((((1111))))               UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV            JJJJOOOOEEEE((((1111))))
  1061.  
  1062.  
  1063.  
  1064.       symbol is defined. ^^^^KKKK    ;;;; prompts you for the symbol you want,
  1065.       but uses the symbol the cursor was on    as a default.  Since
  1066.       ^^^^KKKK ;;;; loads the definition file into the current window, you
  1067.       probably want    to split the window first with ^^^^KKKK OOOO, to    have
  1068.       both the original file and the definition file loaded.
  1069.  
  1070.  
  1071.     SSSShhhheeeellllllll wwwwiiiinnnnddddoooowwwwssss
  1072.       Hit ^^^^KKKK '''' to run a command shell in one of JOE's windows.
  1073.       When the cursor is at    the end    of a shell window (use ^^^^KKKK VVVV if
  1074.       it's not), whatever you type is passed to the    shell instead
  1075.       of the window.  Any output from the shell or from commands
  1076.       executed in the shell    is appended to the shell window    (the
  1077.       cursor will follow this output if it's at the    end of the
  1078.       shell    window).  This command is useful for recording the
  1079.       results of shell commands- for example the output of mmmmaaaakkkkeeee,
  1080.       the result of    ggggrrrreeeeppppping a set of files    for a string, or
  1081.       directory listings from FFFFTTTTPPPP sessions.    Besides    typeable
  1082.       characters, the keys ^C, Backspace, DEL, Return and ^D are
  1083.       passed to the    shell.    Type the shell eeeexxxxiiiitttt command to stop
  1084.       recording shell output.  If you press    ^^^^CCCC in a    shell window,
  1085.       when the cursor is not at the    end of the window, the shell
  1086.       is kkkkiiiilllllllled.
  1087.  
  1088.  
  1089.      EEEEnnnnvvvviiiirrrroooonnnnmmmmeeeennnntttt vvvvaaaarrrriiiiaaaabbbblllleeeessss
  1090.       For JOE to operate correctly,    a number of other environment
  1091.       settings must    be correct.  The throughput (baud rate)    of the
  1092.       connection between the computer and your terminal must be
  1093.       set correctly    for JOE    to update the screen smoothly and
  1094.       allow    typeahead to defer the screen update.  Use the ssssttttttttyyyy
  1095.       nnnnnnnnnnnn command to set this.  You    want to    set it as close    as
  1096.       possible to actual throughput    of the connection.  For
  1097.       example, if you are connected    via a 1200 baud    modem, you
  1098.       want to use this value for ssssttttttttyyyy.  If you are connected via
  1099.       14.4k    modem, but the terminal    server you are connected to
  1100.       connects to the computer a 9600 baud,    you want to set    your
  1101.       speed    as 9600    baud.  The special baud    rate of    38400 or eeeexxxxttttbbbb
  1102.       is used to indicate that you have a very-high    speed
  1103.       connection, such as a    memory mapped console or an X-window
  1104.       terminal emulator.  If you can't use ssssttttttttyyyy to set the actual
  1105.       throughput (perhaps because of a modem communicating with
  1106.       the computer at a different rate than    it's communicating
  1107.       over the phone line),    you can    put a numeric value in the
  1108.       BBBBAAAAUUUUDDDD environment variable instead (use sssseeeetttteeeennnnvvvv    BBBBAAAAUUUUDDDD 9999666600000000 for
  1109.       csh or BBBBAAAAUUUUDDDD====9999666600000000;;;; eeeexxxxppppoooorrrrtttt BBBBAAAAUUUUDDDD    for sh).
  1110.  
  1111.       The TTTTEEEERRRRMMMM environment variable    must be    set to the type    of
  1112.       terminal you're using.  If the size (number of
  1113.       lines/columns) of your terminal is different from what is
  1114.       reported in the TERMCAP or TERMINFO entry, you can set this
  1115.       with the ssssttttttttyyyy    rrrroooowwwwssss nnnnnnnn    ccccoooollllssss nnnnnnnn    command, or by setting the
  1116.  
  1117.  
  1118.  
  1119.      Page 17                          (printed 1/8/99)
  1120.  
  1121.  
  1122.  
  1123.  
  1124.  
  1125.  
  1126.      JJJJOOOOEEEE((((1111))))               UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV            JJJJOOOOEEEE((((1111))))
  1127.  
  1128.  
  1129.  
  1130.       LLLLIIIINNNNEEEESSSS    and CCCCOOOOLLLLUUUUMMMMNNNNSSSS environment    variables.
  1131.  
  1132.       JOE normally expects that flow control between the computer
  1133.       and your terminal to use ^S/^Q handshaking (I.E., if the
  1134.       computer is sending characters too fast for your terminal,
  1135.       your terminal    sends ^S to stop the output and    ^Q to restart
  1136.       it).    If the flow control uses out-of-band or    hardware
  1137.       handshaking or if your terminal is fast enough to always
  1138.       keep up with the computer output and you wish    to map ^S/^Q
  1139.       to edit commands, you    can set    the environment    variable NNNNOOOOXXXXOOOONNNN
  1140.       to have JOE attempt to turn off ^S/^Q    handshaking.  If the
  1141.       connection between the computer and your terminal uses no
  1142.       handshaking and your terminal    is not fast enough to keep up
  1143.       with the output of the computer, you can set the environment
  1144.       variable DDDDOOOOPPPPAAAADDDDDDDDIIIINNNNGGGG to    have JJJJOOOOEEEE slow down the output by
  1145.       interspersing    PAD characters between the terminal screen
  1146.       update sequences.
  1147.  
  1148.  
  1149.      FFFFiiiilllleeeennnnaaaammmmeeeessss
  1150.       Wherever JOE expects you to enter a file name, whether on
  1151.       the command line or in prompts within    the editor, you    may
  1152.       also type:
  1153.  
  1154.  
  1155.       !!!!ccccoooommmmmmmmaaaannnndddd
  1156.            Read or write data to or    from a shell command.  For
  1157.            example,    use jjjjooooeeee    ''''!!!!llllssss'''' to get a copy of your directory
  1158.            listing to edit or from within the editor use ^^^^KKKK    DDDD
  1159.            !!!!mmmmaaaaiiiillll jjjjhhhhaaaalllllllleeeennnn@@@@wwwwoooorrrrlllldddd....ssssttttdddd....ccccoooommmm to send the file being
  1160.            edited to me.
  1161.  
  1162.  
  1163.       >>>>>>>>ffffiiiilllleeeennnnaaaammmmeeee
  1164.            Use this    to have    JOE append the edited text to the end
  1165.            of the file "filename."
  1166.  
  1167.  
  1168.       ffffiiiilllleeeennnnaaaammmmeeee,,,,SSSSTTTTAAAARRRRTTTT,,,,SSSSIIIIZZZZEEEE
  1169.            Use this    to access a fixed section of a file or device.
  1170.            SSSSTTTTAAAARRRRTTTT and SSSSIIIIZZZZEEEE may be entered in    decimal    (ex.: 123)
  1171.            octal (ex.: 0777) or hexadecimal    (ex.: 0xFF).  For
  1172.            example,    use jjjjooooeeee    ////ddddeeeevvvv////ffffdddd0000,,,,555500008888,,,,2222 to edit bytes 508 and
  1173.            509 of the first    floppy drive in    Linux.
  1174.  
  1175.  
  1176.       ----    Use this    to get input from the standard input or    to
  1177.            write output to the standard output.  For example, you
  1178.            can put joe in a    pipe of    commands:  qqqquuuuoooottttaaaa ----vvvv |||| jjjjooooeeee ---- ||||
  1179.            mmmmaaaaiiiillll rrrrooooooootttt, if you want to complain about    your low
  1180.            quota.
  1181.  
  1182.  
  1183.  
  1184.  
  1185.      Page 18                          (printed 1/8/99)
  1186.  
  1187.  
  1188.  
  1189.  
  1190.  
  1191.  
  1192.      JJJJOOOOEEEE((((1111))))               UUUUNNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV            JJJJOOOOEEEE((((1111))))
  1193.  
  1194.  
  1195.  
  1196.      TTTThhhheeee jjjjooooeeeerrrrcccc ffffiiiilllleeee
  1197.       ^^^^TTTT options, the help screens and the key-sequence to editor
  1198.       command bindings are all defined in JOE's initialization
  1199.       file.     If you    make a copy of this file (which    normally
  1200.       resides in ////uuuussssrrrr////llllooooccccaaaallll////lllliiiibbbb////jjjjooooeeeerrrrcccc) to $$$$HHHHOOOOMMMMEEEE////....jjjjooooeeeerrrrcccc, you    can
  1201.       customize these setting to your liking.  The syntax of the
  1202.       initialization file should be    fairly obvious and there are
  1203.       further instruction in it.
  1204.  
  1205.  
  1206.      AAAAcccckkkknnnnoooowwwwlllleeeeddddggggeeeemmmmeeeennnnttttssss
  1207.       JOE was writen by Joseph H. Allen.  If you have bug reports
  1208.       or questions,    e-mail them to jhallen@world.std.com.  Larry
  1209.       Foard    (entropy@world.std.com)    and Gary Gray
  1210.       (ggray@world.std.com)    also helped with the creation of JOE.
  1211.  
  1212.  
  1213.  
  1214.  
  1215.  
  1216.  
  1217.  
  1218.  
  1219.  
  1220.  
  1221.  
  1222.  
  1223.  
  1224.  
  1225.  
  1226.  
  1227.  
  1228.  
  1229.  
  1230.  
  1231.  
  1232.  
  1233.  
  1234.  
  1235.  
  1236.  
  1237.  
  1238.  
  1239.  
  1240.  
  1241.  
  1242.  
  1243.  
  1244.  
  1245.  
  1246.  
  1247.  
  1248.  
  1249.  
  1250.  
  1251.      Page 19                          (printed 1/8/99)
  1252.  
  1253.  
  1254.  
  1255.